<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>航标-选择区域找到上级段落的内容</title>
	</head>
	<body>
		<p class="pp">
			p标签内容
			<span>
				span标签内容
				<font>
					font标签
				</font>
			</span>
		</p>
		<p class="pp">
			p标签内容2
			<span>
				span标签内容2
				<font>
					font标签2
				</font>
			</span>
		</p>
	</body>
	<script>
		// 获取父级p标签节点
		function getTopParentNode(node) {
		  while (node && node.tagName !== 'P') {
		    node = node.parentNode;
		  }
		  return node;
		}
		document.addEventListener('mouseup', (e) => {
			// 使用示例
			const selectedText = window.getSelection().toString(); // 获取选中的文本内容
			if(selectedText){
				const range = window.getSelection().getRangeAt(0); // 获取选中文本的范围
				const textNode = range.commonAncestorContainer; // 获取包含选中文本的文本节点
				const topParentNode = getTopParentNode(textNode); // 获取最上层的 P 标签
				console.log("p段落下的内容：", topParentNode.innerText);
				
			}
		});
	</script>
</html>